package demo05;

import java.util.function.Function;

/*
 *  Function接口案例：自定义函数模型拼接
 */
public class Demo03FunctionChange {
    public static void main(String[] args) {
        System.out.println(getAgeNum("土司鸡,18",
                string -> string.split(",")[1], // 将字符串截取数字年龄部分，得到字符串
                string -> Integer.parseInt(string), // 将上一步的字符串转换成为int类型的数字
                i -> i + 100)); // 将上一步的int数字累加100，得到结果int数字
    }

    public static int getAgeNum(String string, Function<String, String> function1,
            Function<String, Integer> function2,
            Function<Integer, Integer> function3) {
        return function1.andThen(function2).andThen(function3).apply(string); // 使用链式写法
    }
}
